Autogenerated HTML docs for v1.7.5-rc0-131-gfa38c
diff --git a/config.txt b/config.txt index 1d0d1b7..750c86d 100644 --- a/config.txt +++ b/config.txt
@@ -320,7 +320,7 @@ Set the path to the root of the working tree. This can be overridden by the GIT_WORK_TREE environment variable and the '--work-tree' command line option. - The value can an absolute path or relative to the path to + The value can be an absolute path or relative to the path to the .git directory, which is either specified by --git-dir or GIT_DIR, or automatically discovered. If --git-dir or GIT_DIR is specified but none of @@ -897,9 +897,13 @@ characters are *ignorable* whitespace. fetch.recurseSubmodules:: - A boolean value which changes the behavior for fetch and pull, the - default is to not recursively fetch populated submodules unless - configured otherwise. + This option can be either set to a boolean value or to 'on-demand'. + Setting it to a boolean changes the behavior of fetch and pull to + unconditionally recurse into submodules when set to true or to not + recurse at all when set to false. When set to 'on-demand' (the default + value), fetch and pull will only recurse into a populated submodule + when its superproject retrieves a commit that updates the submodule's + reference. fetch.unpackLimit:: If the number of objects fetched over the git native @@ -1823,7 +1827,7 @@ linkgit:git-submodule[1] and linkgit:gitmodules[5] for details. submodule.<name>.fetchRecurseSubmodules:: - This option can be used to enable/disable recursive fetching of this + This option can be used to control recursive fetching of this submodule. It can be overridden by using the --[no-]recurse-submodules command line option to "git fetch" and "git pull". This setting will override that from in the linkgit:gitmodules[5]
diff --git a/fetch-options.txt b/fetch-options.txt index f37276e..39d326a 100644 --- a/fetch-options.txt +++ b/fetch-options.txt
@@ -65,14 +65,33 @@ specified with the remote.<name>.tagopt setting. See linkgit:git-config[1]. ---[no-]recurse-submodules:: - This option controls if new commits of all populated submodules should - be fetched too (see linkgit:git-config[1] and linkgit:gitmodules[5]). +--recurse-submodules[=yes|on-demand|no]:: + This option controls if and under what conditions new commits of + populated submodules should be fetched too. It can be used as a + boolean option to completely disable recursion when set to 'no' or to + unconditionally recurse into all populated submodules when set to + 'yes', which is the default when this option is used without any + value. Use 'on-demand' to only recurse into a populated submodule + when the superproject retrieves a commit that updates the submodule's + reference to a commit that isn't already in the local submodule + clone. + +--no-recurse-submodules:: + Disable recursive fetching of submodules (this has the same effect as + using the '--recurse-submodules=no' option). --submodule-prefix=<path>:: Prepend <path> to paths printed in informative messages such as "Fetching submodule foo". This option is used internally when recursing over submodules. + +--recurse-submodules-default=[yes|on-demand]:: + This option is used internally to temporarily provide a + non-negative default value for the --recurse-submodules + option. All other methods of configuring fetch's submodule + recursion (such as settings in linkgit:gitmodules[5] and + linkgit:git-config[1]) override this option, as does + specifying --[no-]recurse-submodules directly. endif::git-pull[] -u::
diff --git a/git-config.html b/git-config.html index 0c4f331..31d1ff0 100644 --- a/git-config.html +++ b/git-config.html
@@ -1289,7 +1289,7 @@ Set the path to the root of the working tree. This can be overridden by the GIT_WORK_TREE environment variable and the <em>--work-tree</em> command line option. - The value can an absolute path or relative to the path to + The value can be an absolute path or relative to the path to the .git directory, which is either specified by --git-dir or GIT_DIR, or automatically discovered. If --git-dir or GIT_DIR is specified but none of @@ -2284,9 +2284,13 @@ </dt> <dd> <p> - A boolean value which changes the behavior for fetch and pull, the - default is to not recursively fetch populated submodules unless - configured otherwise. + This option can be either set to a boolean value or to <em>on-demand</em>. + Setting it to a boolean changes the behavior of fetch and pull to + unconditionally recurse into submodules when set to true or to not + recurse at all when set to false. When set to <em>on-demand</em> (the default + value), fetch and pull will only recurse into a populated submodule + when its superproject retrieves a commit that updates the submodule’s + reference. </p> </dd> <dt class="hdlist1"> @@ -4147,7 +4151,7 @@ </dt> <dd> <p> - This option can be used to enable/disable recursive fetching of this + This option can be used to control recursive fetching of this submodule. It can be overridden by using the --[no-]recurse-submodules command line option to "git fetch" and "git pull". This setting will override that from in the <a href="gitmodules.html">gitmodules(5)</a>
diff --git a/git-fetch.html b/git-fetch.html index fda83e2..2c437f8 100644 --- a/git-fetch.html +++ b/git-fetch.html
@@ -561,12 +561,28 @@ </p> </dd> <dt class="hdlist1"> ---[no-]recurse-submodules +--recurse-submodules[=yes|on-demand|no] </dt> <dd> <p> - This option controls if new commits of all populated submodules should - be fetched too (see <a href="git-config.html">git-config(1)</a> and <a href="gitmodules.html">gitmodules(5)</a>). + This option controls if and under what conditions new commits of + populated submodules should be fetched too. It can be used as a + boolean option to completely disable recursion when set to <em>no</em> or to + unconditionally recurse into all populated submodules when set to + <em>yes</em>, which is the default when this option is used without any + value. Use <em>on-demand</em> to only recurse into a populated submodule + when the superproject retrieves a commit that updates the submodule’s + reference to a commit that isn’t already in the local submodule + clone. +</p> +</dd> +<dt class="hdlist1"> +--no-recurse-submodules +</dt> +<dd> +<p> + Disable recursive fetching of submodules (this has the same effect as + using the <em>--recurse-submodules=no</em> option). </p> </dd> <dt class="hdlist1"> @@ -580,6 +596,19 @@ </p> </dd> <dt class="hdlist1"> +--recurse-submodules-default=[yes|on-demand] +</dt> +<dd> +<p> + This option is used internally to temporarily provide a + non-negative default value for the --recurse-submodules + option. All other methods of configuring fetch’s submodule + recursion (such as settings in <a href="gitmodules.html">gitmodules(5)</a> and + <a href="git-config.html">git-config(1)</a>) override this option, as does + specifying --[no-]recurse-submodules directly. +</p> +</dd> +<dt class="hdlist1"> -u </dt> <dt class="hdlist1"> @@ -994,6 +1023,15 @@ </li> </ul></div> </div> +<h2 id="_bugs">BUGS</h2> +<div class="sectionbody"> +<div class="paragraph"><p>Using --recurse-submodules can only fetch new commits in already checked +out submodules right now. When e.g. upstream added a new submodule in the +just fetched commits of the superproject the submodule itself can not be +fetched, making it impossible to check out that submodule later without +having to do a fetch again. This is expected to be fixed in a future git +version.</p></div> +</div> <h2 id="_see_also">SEE ALSO</h2> <div class="sectionbody"> <div class="paragraph"><p><a href="git-pull.html">git-pull(1)</a></p></div> @@ -1004,7 +1042,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2011-03-15 23:30:13 UTC +Last updated 2011-04-05 00:20:31 UTC </div> </div> </body>
diff --git a/git-fetch.txt b/git-fetch.txt index 7146f6b..67d2214 100644 --- a/git-fetch.txt +++ b/git-fetch.txt
@@ -76,6 +76,15 @@ because it is prefixed with a plus sign; `tmp` will not be. +BUGS +---- +Using --recurse-submodules can only fetch new commits in already checked +out submodules right now. When e.g. upstream added a new submodule in the +just fetched commits of the superproject the submodule itself can not be +fetched, making it impossible to check out that submodule later without +having to do a fetch again. This is expected to be fixed in a future git +version. + SEE ALSO -------- linkgit:git-pull[1]
diff --git a/git-log.html b/git-log.html index 23b09bc..6ce5a54 100644 --- a/git-log.html +++ b/git-log.html
@@ -797,8 +797,8 @@ </p> <div class="paragraph"><p>For example, if you have two branches, <tt>A</tt> and <tt>B</tt>, a usual way to list all commits on only one side of them is with -<tt>--left-right</tt>, like the example above in the description of -that option. It however shows the commits that were cherry-picked +<tt>--left-right</tt> (see the example below in the description of +the <tt>--left-right</tt> option). It however shows the commits that were cherry-picked from the other branch (for example, "3rd on b" may be cherry-picked from branch A). With this option, such pairs of commits are excluded from the output.</p></div>
diff --git a/git-pull.html b/git-pull.html index 8472ebb..a92f945 100644 --- a/git-pull.html +++ b/git-pull.html
@@ -494,7 +494,7 @@ </p> </dd> <dt class="hdlist1"> ---[no-]recurse-submodules +--[no-]recurse-submodules[=yes|on-demand|no] </dt> <dd> <p> @@ -1421,6 +1421,15 @@ <div class="paragraph"><p>If you tried a pull which resulted in a complex conflicts and would want to start over, you can recover with <em>git reset</em>.</p></div> </div> +<h2 id="_bugs">BUGS</h2> +<div class="sectionbody"> +<div class="paragraph"><p>Using --recurse-submodules can only fetch new commits in already checked +out submodules right now. When e.g. upstream added a new submodule in the +just fetched commits of the superproject the submodule itself can not be +fetched, making it impossible to check out that submodule later without +having to do a fetch again. This is expected to be fixed in a future git +version.</p></div> +</div> <h2 id="_see_also">SEE ALSO</h2> <div class="sectionbody"> <div class="paragraph"><p><a href="git-fetch.html">git-fetch(1)</a>, <a href="git-merge.html">git-merge(1)</a>, <a href="git-config.html">git-config(1)</a></p></div> @@ -1431,7 +1440,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2011-03-15 23:30:14 UTC +Last updated 2011-04-05 00:20:31 UTC </div> </div> </body>
diff --git a/git-pull.txt b/git-pull.txt index c2a7f10..14609cb 100644 --- a/git-pull.txt +++ b/git-pull.txt
@@ -84,7 +84,7 @@ --verbose:: Pass --verbose to git-fetch and git-merge. ---[no-]recurse-submodules:: +--[no-]recurse-submodules[=yes|on-demand|no]:: This option controls if new commits of all populated submodules should be fetched too (see linkgit:git-config[1] and linkgit:gitmodules[5]). That might be necessary to get the data needed for merging submodule @@ -220,6 +220,15 @@ would want to start over, you can recover with 'git reset'. +BUGS +---- +Using --recurse-submodules can only fetch new commits in already checked +out submodules right now. When e.g. upstream added a new submodule in the +just fetched commits of the superproject the submodule itself can not be +fetched, making it impossible to check out that submodule later without +having to do a fetch again. This is expected to be fixed in a future git +version. + SEE ALSO -------- linkgit:git-fetch[1], linkgit:git-merge[1], linkgit:git-config[1]
diff --git a/git-rev-list.html b/git-rev-list.html index 7c97ba9..3d237a0 100644 --- a/git-rev-list.html +++ b/git-rev-list.html
@@ -797,8 +797,8 @@ </p> <div class="paragraph"><p>For example, if you have two branches, <tt>A</tt> and <tt>B</tt>, a usual way to list all commits on only one side of them is with -<tt>--left-right</tt>, like the example above in the description of -that option. It however shows the commits that were cherry-picked +<tt>--left-right</tt> (see the example below in the description of +the <tt>--left-right</tt> option). It however shows the commits that were cherry-picked from the other branch (for example, "3rd on b" may be cherry-picked from branch A). With this option, such pairs of commits are excluded from the output.</p></div>
diff --git a/git-submodule.html b/git-submodule.html index 2008958..47b34da 100644 --- a/git-submodule.html +++ b/git-submodule.html
@@ -510,9 +510,10 @@ currently checked out commit for each submodule, along with the submodule path and the output of <em>git describe</em> for the SHA-1. Each SHA-1 will be prefixed with <tt>-</tt> if the submodule is not - initialized and <tt>+</tt> if the currently checked out submodule commit + initialized, <tt>+</tt> if the currently checked out submodule commit does not match the SHA-1 found in the index of the containing - repository. This command is the default command for <em>git submodule</em>. + repository and <tt>U</tt> if the submodule has merge conflicts. + This command is the default command for <em>git submodule</em>. </p> <div class="paragraph"><p>If <em>--recursive</em> is specified, this command will recurse into nested submodules, and show their status as well.</p></div> @@ -767,7 +768,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2011-03-15 23:30:14 UTC +Last updated 2011-04-05 00:20:31 UTC </div> </div> </body>
diff --git a/git-submodule.txt b/git-submodule.txt index 3a5aa01..1a16ff6 100644 --- a/git-submodule.txt +++ b/git-submodule.txt
@@ -101,9 +101,10 @@ currently checked out commit for each submodule, along with the submodule path and the output of 'git describe' for the SHA-1. Each SHA-1 will be prefixed with `-` if the submodule is not - initialized and `+` if the currently checked out submodule commit + initialized, `+` if the currently checked out submodule commit does not match the SHA-1 found in the index of the containing - repository. This command is the default command for 'git submodule'. + repository and `U` if the submodule has merge conflicts. + This command is the default command for 'git submodule'. + If '--recursive' is specified, this command will recurse into nested submodules, and show their status as well.
diff --git a/gitmodules.html b/gitmodules.html index c6fbb2a..5763a27 100644 --- a/gitmodules.html +++ b/gitmodules.html
@@ -468,12 +468,12 @@ </dt> <dd> <p> - This option can be used to enable/disable recursive fetching of this + This option can be used to control recursive fetching of this submodule. If this option is also present in the submodules entry in .git/config of the superproject, the setting there will override the one found in .gitmodules. Both settings can be overridden on the command line by using the - "--[no-]recurse-submodules" option to "git fetch" and "git pull".. + "--[no-]recurse-submodules" option to "git fetch" and "git pull". </p> </dd> <dt class="hdlist1"> @@ -527,7 +527,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2011-03-15 23:30:15 UTC +Last updated 2011-04-05 00:20:31 UTC </div> </div> </body>
diff --git a/gitmodules.txt b/gitmodules.txt index 15a2186..4040941 100644 --- a/gitmodules.txt +++ b/gitmodules.txt
@@ -45,12 +45,12 @@ the '--merge' or '--rebase' options. submodule.<name>.fetchRecurseSubmodules:: - This option can be used to enable/disable recursive fetching of this + This option can be used to control recursive fetching of this submodule. If this option is also present in the submodules entry in .git/config of the superproject, the setting there will override the one found in .gitmodules. Both settings can be overridden on the command line by using the - "--[no-]recurse-submodules" option to "git fetch" and "git pull".. + "--[no-]recurse-submodules" option to "git fetch" and "git pull". submodule.<name>.ignore:: Defines under what circumstances "git status" and the diff family show
diff --git a/rev-list-options.txt b/rev-list-options.txt index ea5c6c4..73111bb 100644 --- a/rev-list-options.txt +++ b/rev-list-options.txt
@@ -179,8 +179,8 @@ + For example, if you have two branches, `A` and `B`, a usual way to list all commits on only one side of them is with -`--left-right`, like the example above in the description of -that option. It however shows the commits that were cherry-picked +`--left-right` (see the example below in the description of +the `--left-right` option). It however shows the commits that were cherry-picked from the other branch (for example, "3rd on b" may be cherry-picked from branch A). With this option, such pairs of commits are excluded from the output.